home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Creative Computers
/
Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso
/
shareware
/
intuition
/
reqtools_2.1e
/
glue
/
m2amiga
/
m2amiga_glue.lha
/
ReqTools.def
< prev
next >
Wrap
Text File
|
1992-08-17
|
23KB
|
642 lines
(* ------------------------------------------------------------------------
:Program. ReqTools
:Contents. Interface to Nico François' reqtools.library
:Author. Kai Bolay [kai] (C-Version by Nico François)
:Address. Hoffmannstraße 168
:Address. D-7250 Leonberg 1 (Germany)
:Address. UUCP: ...!cbmvax!cbmehq!cbmger!depot1!amokle!kai
:Address. FIDO: 2:247/706.3
:History. v1.0 [kai] 22-Nov-91 (translated from C)
:History. v1.0m [Frank Lömker] 24-Feb-92 Umsetzung nach Modula
:History. v2.0m [Frank Lömker] 10-Aug-92 ReqTools V38
:History. ReqToolsBase korrigiert
:Copyright. Freeware
:Language. Modula-2
:Translator. M2Amiga V4.0d
:Remark. Thanks to Nico for his great library
:Bugs. ReqTools/Arq should support each other
:Bugs. Font-Hook: ta.name can contain odd pointer :-(
------------------------------------------------------------------------ *)
(*
** Filename: reqtools.def
** Release: 2.0
**
** Modula interface.
**
** (C) Copyright 1991/1992 Nico François
** All Rights Reserved
*)
DEFINITION MODULE ReqTools{"reqtools.library",38};
FROM IntuitionD IMPORT IntuitionBasePtr,WindowPtr,ScreenPtr,NewWindow;
FROM GraphicsD IMPORT GfxBasePtr,TextFontPtr,TextAttr;
FROM DosD IMPORT DosLibraryPtr;
FROM ExecD IMPORT Library,LibraryPtr;
FROM SYSTEM IMPORT ADDRESS,SHORTSET,LONGSET,BPTR;
FROM UtilityD IMPORT HookPtr,TagItem,TagItemPtr,Tag,tagUser;
TYPE STRPTR=ADDRESS;
CONST
ReqToolsName = "reqtools.library";
ReqToolsVersion = 38;
TYPE
ReqToolsBasePtr = POINTER TO ReqToolsBase;
VAR reqToolsVersion:INTEGER;
reqToolsBase:ReqToolsBasePtr;
TYPE
ReqToolsBase = RECORD
libNode: Library;
flags: SHORTSET;
pad1,pad2,pad3:SHORTINT;
segList: BPTR;
(* The following library bases may be read and used by your program *)
intuitionBase: IntuitionBasePtr;
gfxBase: GfxBasePtr;
dosBase: DosLibraryPtr;
(* Next two library bases are only (and always) valid on Kickstart 2.0!
(1.3 version of reqtools also initializes these when run on 2.0) *)
gadToolsBase: LibraryPtr;
utilityBase: LibraryPtr;
END;
CONST
(* types of requesters, for AllocRequestA() *)
TypeFileReq = 0;
TypeReqInfo = 1;
TypeFontReq = 2;
TypeScreenModeReq = 3;
(***********************
* *
* File requester *
* *
***********************)
(* structure _MUST_ be allocated with AllocRequest() *)
TYPE
FileRequesterPtr = POINTER TO FileRequester;
FileRequester = RECORD
reqPos: LONGINT;
leftOffset: INTEGER;
topOffset: INTEGER;
flags: LONGSET;
(* OBSOLETE IN V38! DON'T USE! *) hook: HookPtr;
dir: STRPTR; (* READ ONLY! Change with ChangeReqAttrA()! *)
matchPat: STRPTR; (* READ ONLY! Change with ChangeReqAttrA()! *)
defaultFont: TextFontPtr;
waitPointer: ADDRESS;
(* V38 *)
lockWindow: LONGINT;
shareIDCMP: LONGINT;
intuiMsgFunc: HookPtr;
reserved1: INTEGER;
reserved2: INTEGER;
reserved3: INTEGER;
reqHeight: INTEGER; (* READ ONLY! Use RTFI_Height tag! *)
(* Private data follows! HANDS OFF :-) *)
END;
(* returned by FileRequestA() if multiselect is enabled,
free list with FreeFileList() *)
FileListPtr = POINTER TO FileList;
FileList = RECORD
next: FileListPtr;
strLen: LONGINT; (* -1 for directories *)
name: STRPTR;
END;
(* structure passed to RTFI_FilterFunc callback hook by
volume requester (see RTFI_VolumeRequest tag) *)
VolumeEntryPtr = POINTER TO VolumeEntry;
VolumeEntry = RECORD
type: LONGINT; (* DLT_DEVICE or DLT_DIRECTORY *)
name: STRPTR;
END;
(***********************
* *
* Font requester *
* *
***********************)
(* structure _MUST_ be allocated with AllocRequest() *)
FontRequesterPtr = POINTER TO FontRequester;
FontRequester = RECORD
reqPos: LONGINT;
leftOffset: INTEGER;
topOffset: INTEGER;
flags: LONGSET;
(* OBSOLETE IN V38! DON'T USE! *) hook: HookPtr;
attr: TextAttr; (* READ ONLY! *)
defaultFont: TextFontPtr;
waitPointer: ADDRESS;
(* V38 *)
lockWindow: LONGINT;
shareIDCMP: LONGINT;
intuiMsgFunc: HookPtr;
reserved1: INTEGER;
reserved2: INTEGER;
reserved3: INTEGER;
reqHeight: INTEGER; (* READ ONLY! Use RTFI_Height tag! *)
(* Private data follows! HANDS OFF :-) *)
END;
(*************************
* *
* ScreenMode requester *
* *
*************************)
(* structure _MUST_ be allocated with rtAllocRequest() *)
ScreenModeRequesterPtr = POINTER TO ScreenModeRequester;
ScreenModeRequester = RECORD
reqPos: LONGINT;
leftOffset: INTEGER;
topOffset: INTEGER;
flags: LONGSET;
private1: LONGINT;
displayID: LONGINT; (* READ ONLY! *)
displayWidth: INTEGER; (* READ ONLY! *)
displayHeight: INTEGER; (* READ ONLY! *)
defaultFont: TextFontPtr;
waitPointer: ADDRESS;
lockWindow: LONGINT;
shareIDCMP: LONGINT;
intuiMsgFunc: HookPtr;
reserved1: INTEGER;
reserved2: INTEGER;
reserved3: INTEGER;
reqHeight: INTEGER; (* READ ONLY! Use RTFI_Height tag! *)
displayDepth: INTEGER;
overscanType: INTEGER;
autoScroll: LONGINT;
(* Private data follows! HANDS OFF :-) *)
END;
(***********************
* *
* Requester Info *
* *
***********************)
(* for EZRequestA(), GetLongA(), GetStringA() and PaletteRequestA(),
_MUST_ be allocated with AllocRequest() *)
ReqInfoPtr = POINTER TO ReqInfo;
ReqInfo = RECORD
reqPos: LONGINT;
leftOffset: INTEGER;
topOffset: INTEGER;
width: LONGINT; (* not for EZRequestA() *)
reqTitle: STRPTR; (* currently only for EZRequestA() *)
flags: LONGSET;
defaultFont: TextFontPtr; (* currently only for PaletteRequestA() *)
waitPointer: ADDRESS;
(* V38 *)
lockWindow: LONGINT;
shareIDCMP: LONGINT;
intuiMsgFunc: HookPtr;
(* structure may be extended in future *)
END;
(***********************
* *
* Handler Info *
* *
***********************)
(* for ReqHandlerA(), will be allocated for you when you use
the ReqHandler tag, never try to allocate this yourself! *)
HandlerInfoPtr = POINTER TO HandlerInfo;
HandlerInfo = RECORD
private1: LONGINT;
waitMask: LONGSET;
doNotWait: LONGINT (* LONGBOOL *); (* ? *)
(* Private data follows, HANDS OFF :-) *)
END;
(* possible return codes from ReqHandlerA() *)
CONST
CallHandler = 080000000H;
(*************************************
* *
* TAGS *
* *
*************************************)
TagBase = tagUser;
(*** tags understood by most requester functions ***)
(* optional pointer to window *)
Window = TagBase+1;
(* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) *)
IDCMPFlags = TagBase+2;
(* position of requester window (see below) - default REQPOS_POINTER *)
ReqPos = TagBase+3;
(* signal mask to wait for abort signal *)
LeftOffset = TagBase+4;
(* topedge offset of requester relative to position specified by ReqPos *)
TopOffset = TagBase+5;
(* name of public screen to put requester on (Kickstart 2.0 only!) *)
PubScrName = TagBase+6;
(* address of screen to put requester on *)
Screen = TagBase+7;
(* tagdata must hold the address of (!) an APTR variable *)
DoReqHandler = TagBase+8;
(* font to use when screen font is rejected, _MUST_ be fixed-width font!
(struct TextFont *, not struct TextAttr *!)
- default GfxBase->DefaultFont *)
DefaultFont = TagBase+9;
(* boolean to set the standard wait pointer in window - default FALSE *)
WaitPointer = TagBase+10;
(* (V38) char preceding keyboard shortcut characters (will be underlined) *)
Un